main(){
  // 算术运算符
  // var a = 10;
  // int b = 88;
  // var c = b%a;//取余数
  // var d = b~/a;//取整：88/10 = 8.8;取整之后就是8；去除小数点后的数据；
  // print('$a,$d');

  // 关系运算符
  // int a=5;
  // int b=3;
  // print(a==b);//判断是否相等
  // print(a!=b);//1判断是否不等
  // print(a>b);//判断是否大于
  // print(a<b);//判断是否小于
  // print(a>=b);//判断是否大于等于
  // print(a<=b);//判断是否小于等于

  //逻辑运算符
  // !：取反、||：或者，&&：且都要满足

  // 赋值运算符
  // ??=  如果一个变量的值为空，会把后面的值赋值给该变量,否则值还是使用本身的
  // var b = null;
  // b??=88;
  // print(b);
  
  // 复合赋值运算符 注意如果是要除于一个数值要用double去定义该变量，因为防止有浮点数
  // double a = 10;
  // a += 8;//18---10+8   +=、+-、*=、/=、%=都同理
  // print(a);

  // 条件表达式
  //1、if else、switch case
  // var flag = false;
  // if(flag){ //注意：此处需要判断的数据的数据类型必须是布尔类型，否则会报错；
  //   print(true);
  // }else if(!flag){
  //   print(false);
  // }

  // switch判断
  // var age = 8;
  // switch(age){
  //   case 8:
  //   print(8);
  //   break;
  //   default:
  //    print(99);
  //   break;
  // }

  // 三目运算符
  // bool f = false;
  // String name = f?'张飞':'无性氏';
  // print(name);//无性氏

  // ??运算符
  // var a = null;
  // var b = a??10; //如果a的值没有或者为null时，把后面的值赋值给b;
  // print(b);

  // 数据类型转换
  // var a = 8;
  // var b = '10';
  // var c = '123.456';
  // // print(a.toString());//数字转字符串
  // print(int.parse(b));//整数使用int字符串换数字 注意: 字符串也一定要是字符串包着的数字才能转换，如：'18'
  // print(double.parse(c));//浮点数使用double字符串换数字 注意: 字符串也一定要是字符串包着的数字才能转换，如：'12.34'
  // String str = '88'; //如果要转换的是空的字符串可以使用一下操作；
  // var a;
  // try {
  //   a = double.parse(str);
  //   print(a);
  // } catch (e) {
  //   a = 0;
  //   print(a);
  // }
  // 判断字符串是否为空isEmpty为true就是为空
  // var s = '';
  // print(s.isEmpty);//true
  // 数字转换布尔值
  // var a = 123;
  // if(a==0){
  //   print(false);
  // }else{
  //   print(true);
  // }

  // var n = 0/0;
  // print(n.isNaN);//判断值是否等于NaN

  // ++ -- 自增、自减
  // var a = 8;
  // print(a++);//8 先赋值在自增
  // print(++a);//9 先自增在赋值
  // print(a--);//8 
  // print(--a);//7
}